#!/usr/bin/env python3
"""
每日构建脚本 - 集成测试和报告生成
"""

import subprocess
import sys
import os
from datetime import datetime

def daily_build():
    """执行每日构建流程"""
    print(" 开始每日构建...")
    
    # 1. 运行所有测试
    print("\n1. 运行单元测试...")
    test_result = subprocess.run([sys.executable, "run_tests.py"], 
                               capture_output=True, text=True)
    
    # 输出测试结果
    print(test_result.stdout)
    if test_result.stderr:
        print("STDERR:", test_result.stderr)
    
    # 2. 生成测试报告
    print("\n2. 生成测试报告...")
    report_file = f"test_report_{datetime.now().strftime('%Y%m%d')}.txt"
    with open(f"output/{report_file}", "w", encoding='utf-8') as f:
        f.write(f"每日构建测试报告 - {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
        f.write("="*50 + "\n")
        f.write(test_result.stdout)
    
    # 3. 检查构建状态
    if test_result.returncode == 0:
        print(" 每日构建成功！")
        return True
    else:
        print(" 每日构建失败！")
        # 可以在这里添加通知机制（邮件、钉钉等）
        return False

if __name__ == "__main__":
    success = daily_build()
    sys.exit(0 if success else 1)